package com.oom;

/**
 * @Author: tgy
 * @Date: 2020-08-05 10:12
 */

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

/**
 *
 * JVM花费了98%的时间进行垃圾回收，而只得到2%可用的内存，频繁的进行内存回收(最起码已经进行了5次连续的垃圾回收)，
 * JVM就会曝出java.lang.OutOfMemoryError: GC overhead limit exceeded错误。
 *
 *  -Xms5M -Xmx5M -XX:+PrintGCDetails
 *
 * Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
 * 	at java.lang.Integer.valueOf(Integer.java:832)
 * 	at com.oom.GC_Overhead_Limit_Exceeded.main(GC_Overhead_Limit_Exceeded.java:27)
 */
public class GC_Overhead_Limit_Exceeded {

    public static void main(String[] args) {

        List<Integer> con = new ArrayList<>();

        Random random = new Random();
        long index = 0;
        while (true){

            con.add(random.nextInt());
            index++;
        }

    }
}
